#!/bin/bash
#SBATCH -J corr_MPI
#SBATCH -p batch
#SBATCH -N 1
#SBATCH --ntasks-per-node=20
#SBATCH --cpus-per-task=4
#SBATCH --mem=512G
#SBATCH --output=./log/corr_MPI_%j.out
#SBATCH --time=48:00:00
#SBATCH --no-requeue

# 定义台站列表，按输入文件分组
# 使用 P050 事件文件的台站
bases_P050="P043 P044 P045 P046 P047 P048 P049 P050 P051 P052 P053 P054 P055 P056 P057 P058 P059 P060 P061 P062 P063 P064 P065 P066 P067 P068 P069 P070 P071 P072 P073 P074 P075 P076 P077 P078 P079 P080 P081 P082 P083 P084 P085 P086 P087 P088 P089 P090 P091 P092 P093 P094 P095 P096 P097 P098 P099 P100 P101 P102 P103 P104 P105 P106 P107 P108 P109 P110 P111 P112 P113 P114 P115 P116 P117 P118 P119"

# 使用 P192 事件文件的台站
bases_P192="P120 P121 P122 P123 P124 P125 P126 P127 P128 P129 P130 P131 P132 P133 P134 P135 P136 P137 P138 P139 P140 P141 P142 P143 P144 P145 P146 P147 P148 P149 P150 P151 P152 P153 P154 P155 P156 P157 P158 P159 P160 P161 P162 P163 P164 P165 P166 P167 P168 P169 P170 P171 P172 P173 P174 P175 P176 P177 P178 P179 P180 P181 P182 P183 P184 P185 P186 P187 P188 P189 P190 P191 P192 P193 P194 P195 P196 P197 P198 P199 P200 P201 P202 P203 P204 P205 P206 P207 P208 P209 P210 P211 P212 P213 P214 P215 P216 P217 P218 P219 P220 P221 P222 P223 P224 P225 P226 P227 P228 P229 P230 P231 P232 P233 P234 P235 P236 P237 P238 P239 P240 P241 P242 P243 P244 P245 P246 P247 P248 P249 P250 P251 P252 P253 P254 P255 P256 P257 P258 P259 P260 P261 P262 P263 P264 P265 P266 P267 P268 P269"

# 使用 P349 事件文件的台站
bases_P349="P270 P271 P272 P273 P274 P275 P276 P279 P280 P281 P282 P283 P284 P285 P286 P287 P288 P289 P290 P291 P292 P293 P294 P295 P296 P297 P298 P299 P300 P301 P302 P303 P304 P305 P306 P307 P308 P309 P310 P311 P312 P313 P314 P315 P316 P317 P318 P319 P320 P321 P322 P323 P324 P325 P326 P327 P328 P329 P330 P331 P332 P333 P334 P335 P336 P337 P338 P339 P340 P341 P342 P343 P344 P345 P346 P347 P348 P349"

bases_E="E001 E002 E003 E004 E005 E006 E007 E008 E009 E010 E011 E021 E022 E023 E024"


# 对应的输入文件
input_P050="data/2406.HSR/events/P050.2406.Z.events.h5"
input_P192="data/2406.HSR/events/P192.2406.Z.events.h5"
input_P349="data/2406.HSR/events/P349.2406.Z.events.h5"
input_E="data/2406.HSR/events/P192.2406.Z.events.h5"


bases_test="P043 P044 P045 P046"
input_test="data/2406.HSR/events/P050.2406.Z.events.h5"


# 加载所需的软件模块
module purge
module load anaconda3
module load lib/intel2019mkl
module load mpi/openmpi-4.1.8-gcc13-ib
module load libs/netcdf/4.7.4
module load libs/hdf5/1.12.2
conda activate py311

export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
export OMP_PLACES=cores
export OMP_PROC_BIND=close
export PYTHONPATH="/home/shiyongxiang/coda_hsr:$PYTHONPATH"


echo "=== 开始MPI并行处理所有台站 ==="
echo "开始时间: $(date)"

# input_file=$input_test
# bases=$bases_test

input_file=$input_P050
bases=$bases_P050

# input_file=$input_P192
# bases=$bases_P192

input_file=$input_P349
bases=$bases_P349

input_file=$input_E
bases=$bases_E


echo "[1/3] 处理使用$input_file 的台站"
echo "涉及台站: $bases"
echo "当前时间: $(date)"

cmd1="mpirun  -np $SLURM_NTASKS -x OMP_NUM_THREADS -x OMP_PLACES -x OMP_PROC_BIND --bind-to core"
$cmd1 python 4.corr.multiS.MPI.py -date 2406 -bases $bases -line NONE -L 40 -Tpos S -input $input_file -debug
$cmd1 python 4.corr.multiS.MPI.py -date 2406 -bases $bases -line NONE -L 40 -Tpos N -input $input_file -debug

